<template>
  <el-container>
    <el-header> <el-page-header @back="goBack"> </el-page-header> </el-header>
    <el-main>
      <NewsPage :source="itemS" :time="itemTime" :content="itemContent" />
      <Comments />
    </el-main>
  </el-container>
</template>

<script>
import { mapState } from "vuex";
import Comments from "../components/Comments.vue";
import NewsPage from "../components/NewsPage.vue";
export default {
  data() {
    return {
      itemS: "",
      itemTime: "",
      itemContent: "",
    };
  },
  components: {
    NewsPage,
    Comments,
  },

  computed: {
    ...mapState("user", ["user"]),
  },

  async mounted() {
    this.axios
      .get(
        `http://localhost:3000/news/getNewsdetail?news_id=${this.$route.params.id}`
      )
      .then((res) => {
        // 请求成功时，处理返回的数据
        this.itemS = res.data.data[0].source;
        this.itemTime = this.getDates(res.data.data[0].post_date);
        this.itemContent = JSON.parse(res.data.data[0].full_content);
        this.news_id = res.data.data[0].news_id;
        // console.log(1111);
        // console.log(res);
        // console.log(this.itemS);
      })
      .catch((error) => {
        // 请求失败时，处理错误
        console.error(error);
      });
  },
  methods: {
    goBack() {
      // this.$router.push("/");
      window.history.back();
    },
    getDates(timestamp) {
      // 创建一个新的Date对象，使用传入的时间戳（毫秒）
      var date = new Date(timestamp);
      // 使用各种Date方法获取年、月、日、时、分、秒等
      var year = date.getFullYear();
      var month = String(date.getMonth() + 1).padStart(2, "0"); // 月份是从0开始的，所以需要+1，并使用padStart确保总是两位数
      var day = String(date.getDate()).padStart(2, "0"); // 使用padStart确保总是两位数
      var hours = String(date.getHours()).padStart(2, "0"); // 使用padStart确保总是两位数
      var minutes = String(date.getMinutes()).padStart(2, "0"); // 使用padStart确保总是两位数
      var seconds = String(date.getSeconds()).padStart(2, "0"); // 使用padStart确保总是两位数
      // 创建一个格式化的日期时间字符串
      var formattedDate =
        year +
        "-" +
        month +
        "-" +
        day +
        " " +
        hours +
        ":" +
        minutes +
        ":" +
        seconds;

      // 返回格式化后的日期时间字符串
      return formattedDate;
    },
  },
};
</script>

<style scoped>
.el-header {
  background-color: black;
  color: white;
  padding-top: 20px;
}
</style>